package com.chris.design.pattern.samples.singleton;

/**
 * 懒汉式单例模式
 */
public class LazySingleton {

    private static LazySingleton instance = null;

    private LazySingleton() {
    }

    /**
     * 静态工厂方法处理，synchronized 处理多线程的环境。性能不太好，尤其使用了jvm层面的锁
     * @return
     */
    public static synchronized LazySingleton getInstance() {
        if (instance == null) {
            instance = new LazySingleton();
        }
        return instance;
    }
}
